// pages/personalCenter/vote/get/get.js
var toLog = require('../../../../module/toLog.js');
var userInfo = require('../../../../module/userIdToUserInfo.js');
var app = getApp();
//保存投票表单
var fillVote = [];
//选择的内容
var result = [];
//保存选中的多选
var tempCheckBox = [];
Page({

    /**
     *自定义函数 
     */

    pageInit: function () {
        tempCheckBox = [];
        result = [];
    },

    /**
     * 页面函数
     */

    //单选
    radio_click: function (e) {
        result = e.detail.value;
        this.setData({
            radio_current: result
        });
    },

    //多选
    checkbox_click: function (e) {
        if (tempCheckBox.indexOf(e.detail.value) == -1) {
            tempCheckBox.push(e.detail.value);
        } else {
            tempCheckBox.splice(tempCheckBox.indexOf(e.detail.value), 1)
        }
        this.setData({
            checkbox_current: tempCheckBox
        });
        result = tempCheckBox;
    },

    //提交
    submit: function () {
        var that = this;
        if (fillVote[0].vote_nec == false) {
            //显示单选
            for (var i = 1; i < fillVote.length; i++) {
                if (fillVote[i].q == result) {
                    if (fillVote[0].vote_anon == false) {
                        //非匿名
                        fillVote[i].y.push(app.globalData.user_info.user_id);
                    } else if (fillVote[0].vote_anon == true) {
                        //匿名
                        fillVote[i].y.push('OneUser');
                    }
                }
            }
        } else if (fillVote[0].vote_nec == true) {
            //显示多选
            for (var i = 1; i < fillVote.length; i++) {
                for (var j = 0; j < result.length; j++) {
                    if (fillVote[i].q == result[j]) {
                        if (fillVote[0].vote_anon == false) {
                            //非匿名
                            fillVote[i].y.push(app.globalData.user_info.user_id);
                        } else if (fillVote[0].vote_anon == true) {
                            //匿名
                            fillVote[i].y.push('OneUser');
                        }
                    }
                }
            }
        }
        fillVote[0].vote_user.push(app.globalData.user_info.user_id);
        wx.request({
            url: `https://wx.jingqi.ink/wxapp/vote/join_vote`,
            method: 'POST',
            data: fillVote,
            success(res) {
                //取消显示按钮
                that.setData({
                    show_button: false
                });
                //不允许选择
                that.setData({
                    open_select: true
                });
                wx.showToast({
                    title: '投票成功',
                });
                toLog('015001');
            }
        })
    },

    /**
     * 页面的初始数据
     */
    data: {
        //初始所有选项都不显示
        show_radio: false,
        show_checkbox: false,
        //初始没有选项
        content: '',
        //默认显示按钮
        show_button: true,
        //默认允许选择
        open_select: false,
        //默认将选项清空
        radio_current: '',
        checkbox_current: '',
        //默认显示投票页面
        show_vote: true
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        var that = this;
        var tempVoteId = '';
        //执行登录程序获取用户号
        wx.login({
            //登录成功后的动作
            success: function (res) {
                if (res.code) { //如果收到res.code数据，则把数据发到后端进行处理
                    wx.request({
                        url: 'https://wx.jingqi.ink/wxapp/login',
                        method: "POST",
                        //发给后端的数据
                        data: {
                            code: res.code
                        },
                        //后端处理成功后返回的数据
                        success: function (res) {
                            //判断该用户是否注册，0为没有注册，1为已注册
                            //若没有注册则引导注册
                            if (res.data.status === "0") {
                                wx.showModal({
                                    title: '提示',
                                    content: '您尚未注册，无法投票',
                                    confirmText: '去注册',
                                    cancelText: '返回',
                                    success(res) {
                                        if (res.confirm == true) {
                                            wx.navigateTo({
                                                url: '../../personalCenter/signUp/signUp',
                                            })
                                        }
                                    }
                                })
                                app.globalData.user_info.user_openid = res.data.openid;
                            } else if (res.data.status === "1") {
                                //若已注册，则把该用户的openid,user_name,user_rank,user_id发到前段作为全局变量存储
                                app.globalData.user_info.user_openid = res.data.data.user_openid;
                                app.globalData.user_info.user_name = res.data.data.user_name;
                                app.globalData.user_info.user_rank = res.data.data.user_rank;
                                app.globalData.user_info.user_id = res.data.data.user_id;
                                /**
                                 * 以下为在前端计算内容，计算用户的组织号，部门号
                                 */
                                app.globalData.user_info.user_date = userInfo(app.globalData.user_info.user_id).time.time;
                                app.globalData.user_info.user_id_org = userInfo(app.globalData.user_info.user_id).orgId;
                                app.globalData.user_info.user_id_depart = userInfo(app.globalData.user_info.user_id).depId;
                                app.globalData.user_info.user_org = userInfo(app.globalData.user_info.user_id).orgName;
                                app.globalData.user_info.user_depart = userInfo(app.globalData.user_info.user_id).depName;
                            }
                            toLog('001001');
                        }
                    })
                }
                tempVoteId = JSON.parse(options.temp);
                wx.request({
                    url: `https://wx.jingqi.ink/wxapp/vote/get_vote/999/${tempVoteId}`,
                    method: 'GET',
                    success(res) {
                        if (res.data[0] == undefined || res.data[0] == {} || res.data[0] == [] || res.data[0] == '' || res.data[0] == null) { //是空表单
                            wx.showModal({
                                title: '提示',
                                content: '这个表单已删除，请联系管理员',
                                showCancel: false,
                                confirmText: '我知道了',
                                success(res) {
                                    if (res.confirm) {
                                        that.setData({
                                            show_vote: false
                                        });
                                    }
                                }
                            })
                        } else {
                            fillVote = JSON.parse(res.data[0].vote_ctx);
                            wx.setNavigationBarTitle({
                                title: `投票：${fillVote[0].vote_name}`,
                            });
                            //判断这个用户是否已经填写过了
                            if (fillVote[0].vote_user.indexOf(app.globalData.user_info.user_id) == -1) { //没有填过
                                if (fillVote[0].vote_nec == false) {
                                    //显示单选
                                    that.setData({
                                        show_radio: true
                                    });
                                } else if (fillVote[0].vote_nec == true) {
                                    //显示多选
                                    that.setData({
                                        show_checkbox: true
                                    });
                                }
                                if (fillVote[0].vote_anon == false) {
                                    that.setData({
                                        vote_anon: '实名投票'
                                    });
                                } else if (fillVote[0].vote_anon == true) {
                                    that.setData({
                                        vote_anon: '匿名投票'
                                    });
                                }
                                that.setData({
                                    content: fillVote.slice(1)
                                });
                                that.setData({
                                    vote_name: fillVote[0].vote_name
                                });
                                that.setData({
                                    vote_des: fillVote[0].vote_des
                                });
                            } else {
                                wx.showModal({
                                    title: '提示',
                                    content: '您已经投过票了，每个人只能投一次票',
                                    showCancel: false,
                                    confirmText: '我知道了',
                                    success(res) {
                                        if (res.confirm) {
                                            that.setData({
                                                show_vote: false
                                            });
                                        }
                                    }
                                })
                            }
                        }
                    }
                });
            }
        })
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
        this.pageInit();
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})